package com.kmxd.ams.client.use.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import java.io.Serializable;
import java.util.Date;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import lombok.Data;

/**
 * 借阅日志表
 *
 * @author ZuoLG
 * @since 2022-08-02
 */
@Schema(description = "借阅日志表对象")
@Data
public class UseBorrowLogAddDTO implements Serializable {

  private static final long serialVersionUID = 1L;

  /** 主键ID */
  @Schema(description = "主键ID")
  private Long id;

  /** 公司ID */
  @Schema(description = "公司ID")
  @NotNull(message = "公司ID不能为空")
  private Long comId;

  /** 全宗ID */
  @Schema(description = "全宗ID")
  @NotNull(message = "全宗ID不能为空")
  private Long fondsId;

  /** 处理人 */
  @Schema(description = "处理人")
  @NotNull(message = "处理人不能为空")
  private Long userId;

  /** 借阅单ID */
  @Schema(description = "借阅单ID")
  @NotNull(message = "借阅单ID不能为空")
  private Long orderId;

  /** 通知内容 */
  @Schema(description = "通知内容")
  @NotBlank(message = "通知内容不能为空")
  @Size(max = 100, message = "通知内容长度不能超过100个字符")
  private String content;

  /** 领取/归还人 */
  @Schema(description = "领取/归还人")
  @NotBlank(message = "领取/归还人不能为空")
  @Size(max = 100, message = "领取/归还人长度不能超过100个字符")
  private String opUser;

  /** 领取/归还日期 */
  @Schema(description = "领取/归还日期")
  @NotNull(message = "领取/归还日期不能为空")
  private Date opDate;

  /** 领取/归还说明 */
  @Schema(description = "领取/归还说明")
  @NotBlank(message = "领取/归还说明不能为空")
  @Size(max = 100, message = "领取/归还说明长度不能超过100个字符")
  private String opExplain;

  /** 操作类型 */
  @Schema(description = "操作类型")
  @NotNull(message = "操作类型不能为空")
  private Integer opType;

  /** 操作的档案 */
  @Schema(description = "操作的档案")
  @NotBlank(message = "操作的档案不能为空")
  @Size(max = 100, message = "操作的档案长度不能超过100个字符")
  private String opArchive;

  /** 通知方式 */
  @Schema(description = "通知方式")
  @NotBlank(message = "通知方式不能为空")
  @Size(max = 100, message = "通知方式长度不能超过100个字符")
  private String notice;

  /** 订单编号 */
  @Schema(description = "订单编号")
  @NotBlank(message = "订单编号不能为空")
  @Size(max = 100, message = "订单编号长度不能超过100个字符")
  private String orderNumber;

  /** 年份 */
  @Schema(description = "年份")
  @NotNull(message = "年份不能为空")
  private Integer processYear;

  /** 类型 */
  @Schema(description = "类型")
  @NotNull(message = "类型不能为空")
  private Integer enttype;

  /** 创建人 */
  @Schema(description = "创建人")
  @NotNull(message = "创建人不能为空")
  private Long createBy;

  /** 创建时间 */
  @Schema(description = "创建时间")
  @NotNull(message = "创建时间不能为空")
  private Date createTime;

  /** 更新人 */
  @Schema(description = "更新人")
  @NotNull(message = "更新人不能为空")
  private Long updateBy;

  /** 更新时间 */
  @Schema(description = "更新时间")
  @NotNull(message = "更新时间不能为空")
  private Date updateTime;
}
